package com.todo.strategy.online.service.api.response;

import com.todo.common.common.enums.AllowedCommentEnum;
import com.todo.common.common.enums.SourceEnum;
import com.todo.common.common.enums.biz.PrivateTypeEnum;
import com.todo.strategy.common.enums.StrategyStatusEnum;
import lombok.Data;

/**
 * @author azhebuxing
 * @date 2025/2/27 22:56
 * @description
 */
@Data
public class UserStrategyDetailResponse {

    /**
     * 主键
     */
    private Long id;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 计划id
     */
    private Long planId;
    /**
     * 标题
     */
    private String title;
    /**
     * 出行体验
     */
    private TravelGuide guide;
    /**
     * 出行建议
     */
    private Suggest suggest;
    /**
     * 是否私有
     */
    private PrivateTypeEnum isPrivate;
    /**
     * 是否关联攻略文章
     */
    private Integer isAssociatePlanContent;
    /**
     * 状态
     */
    private StrategyStatusEnum status;
    /**
     * 是否允许评论
     */
    private AllowedCommentEnum allowComment;
    /**
     * 来源
     */
    private SourceEnum source;
    /**
     * 主图
     */
    private String mainImg;
    /**
     * 复用量
     */
    private Integer referenceCount;
    /**
     * 浏览量
     */
    private Integer viewCount;
    /**
     * 点赞量
     */
    private Integer likeCount;
    /**
     * 收藏量
     */
    private Integer collectCount;
    /**
     * 评论数
     */
    private Integer commentCount;
    /**
     * 扩展信息
     */
    private Extra extra;

    @Data
    public static class Extra {

    }

    @Data
    public static class TravelGuide {
        /**
         * 城市体验
         */
        private String cityExp;
        /**
         * 游玩体验
         */
        private String playExp;
        /**
         * 出行体验
         */
        private String travelExp;
        /**
         * 美食体验
         */
        private String foodExp;
    }

    @Data
    public static class Suggest {
        /**
         * 旅游建议
         */
        private String travelSuggest;
        /**
         * 安全建议
         */
        private String securitySuggest;
        /**
         * 踩坑点
         */
        private String defectSuggest;
        /**
         * 槽点
         */
        private String disclose;
    }
}
